package com.cf.moudle.newsfeed.mvp.contracts;

import com.cf.base.mvp.mvp.IBaseView;
import com.cf.base.mvp.mvp.IModel;
import com.cf.base.mvp.mvp.IPresenter;
import com.cf.base.mvp.rx.LifecycleTransformer;
import com.cf.moudle.newsfeed.mvp.bean.UserInfo;

/**
 * @author yangji
 */
public interface MainContract {

    interface View extends IBaseView {
        /**
         * 登录成功
         */
        void loginSuccess();

        /**
         * 登录失败
         */
        void loginFailed();
    }

    interface Presenter extends IPresenter<View> {
        /**
         * @param name 用户名
         * @param pwd  用户秘密
         */
        void requestLogin(String name, String pwd);

        /**
         * model 回来数据
         *
         * @param info model 登录结果
         */
        void responseLogin(UserInfo info);
    }

    interface Model extends IModel<Presenter> {
        /**
         * 去执行网络操作 进行登录
         *
         * @param name 用户名
         * @param pwd  用户密码
         */
        void login(String name, String pwd);
    }

}
